#ifndef COLLISION_AVOIDANCE_H
#define COLLISION_AVOIDANCE_H

#include "SteeringBehaviour.h"

namespace Engine
{
	namespace SteeringBehaviourTypes
	{
		const unsigned int COLLISION_AVOIDANCE = Hash("CollisionAvoidance");
	}

	class CollisionAvoidance : public SteeringBehaviour
	{
		private:
			float m_timeBetweenCollisionChecks;
			float m_timeToNextCollisionCheck;

		public:
			//inherited from SteeringBehaviour
			virtual void Update(SteeringOutput* output) override;
			virtual const char* GetTypeName() const override {return "CollisionAvoidance";}
			virtual unsigned int GetHash() const override {return SteeringBehaviourTypes::COLLISION_AVOIDANCE;}

			CollisionAvoidance():m_timeBetweenCollisionChecks(0.0f), m_timeToNextCollisionCheck(0.0f){}

			void SetTimeBetweenCollisionChecks(float t) {m_timeBetweenCollisionChecks = t;}

			float GetTimeBetweenCollisionChecks() const {return m_timeBetweenCollisionChecks;}
	};
}

#endif